import cryptoJs from 'crypto-js';
const ckey = '8475830583728492';
const civ = '9923759204869830';
export default {
  // 加密函數
  encrypt(data) {
    let text = JSON.stringify(data);
    text = cryptoJs.enc.Base64.stringify(
      cryptoJs.enc.Utf8.parse(text)
    ).toString();
    let key = cryptoJs.enc.Utf8.parse(ckey); //为了避免补位，直接用16位的秘钥
    let iv = cryptoJs.enc.Utf8.parse(civ); //16位初始向量
    let encrypted = cryptoJs.AES.encrypt(text, key, {
      iv: iv,
      mode: cryptoJs.mode.CBC,
      padding: cryptoJs.pad.ZeroPadding,
    }).toString();
    return cryptoJs.enc.Base64.stringify(
      cryptoJs.enc.Utf8.parse(encrypted)
    ).toString();
  },
  // 解密函數
  decrypt(data) {
    let encrypted = cryptoJs.enc.Utf8.stringify(
      cryptoJs.enc.Base64.parse(data)
    ).toString();
    let key = cryptoJs.enc.Utf8.parse(ckey); //为了避免补位，直接用16位的秘钥
    let iv = cryptoJs.enc.Utf8.parse(civ); //16位初始向量
    let decrypted = cryptoJs.AES.decrypt(encrypted, key, {
      iv: iv,
      mode: cryptoJs.mode.CBC,
      padding: cryptoJs.pad.ZeroPadding,
    }).toString(cryptoJs.enc.Utf8);
    return cryptoJs.enc.Utf8.stringify(
      cryptoJs.enc.Base64.parse(decrypted)
    ).toString();
  },
};
